package TcpServer

import (
	"net"
)

type IHandler interface {
	GetHeaderLength() (int, error)           // 最小包长度检查
	InvalidHeader(data []byte) (bool, error) // 是否为非法报文：通过检查报文头部，这些协议中约定的起始标记，判定该报文是否为合法的报文
	GetPackLength(data []byte) (int, error)  // 包长度信息：从minPack数组中，取出报文长度信息
}

type INotify interface {
	ChannelActive(conn net.Conn)              // 通知数据到达
	ChannelRead(conn net.Conn, data []byte)   // 通知数据到达
	ChannelClose(conn net.Conn)               // 通知连接关闭
	ExceptionCaught(conn net.Conn, err error) // 通知出现异常
}
